This forum is closed to new posts and
responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:
RE: Profile Document Fields Vanishing - Problem Solved! (kind of) ~Umberto Nongeroson 6.Dec.03 01:45 AM a Web browser Notes Client 6.0.3All Platforms
The Conflict Action is not relevant here because the new, blank profile is not a replica of the original profile. There's not a replication conflict -- there are just two profiles with different uNIDs but the same identifying information (profile name and user name). Which one gets used may vary from one replica of the database to another, but each replica will have a "preferred" one.
To correct the problem after it occurs, you can search for duplicate profiles in the current database and delete whichever one doesn't look right to you. Use the GetProfileDocumentCollection method.
Prevention is trickier. I suppose you could add code that executes on open, scans the GetProfileDocumentCollection for the profiles which you know should already be there, and kicks them out with a message saying "please replicate the database first" if they are not present. Of course this only works if you know what all profiles are supposed to be present, so if each user has a profile it doesn't work so hot.
Another approach that might solve a bunch of other problems also; have the database Postopen code check whether this is a local replica; if so, check for an environment variable (specific to this application) that gives the pathname of the database on local. If the environment variable is missing, or if the path is different, prompt the user whether they want to (a) exit the database now or (b) replicate with the server now (which will not take long if they have already done the full replication). If they choose (b), use the Replicate method to replicate the local replica with a known good replica. If they break out of the replication (which you can detect with a Terminate event), kick them out of the database.